存在重复元素 II-简单

难度:简单

题目描述:
给定一个整数数组和一个整数  k,判断数组中是否存在两个不同的索引  i  和  j,使得  nums [i] = nums [j],并且 i 和 j  的差的 绝对值 至多为 k。

示例:

输入: (nums = [1, 2, 3, 1]), (k = 3);
输出: true;
1
2


解题思路:
利用哈希表
var containsNearbyDuplicate = function (nums, k) {
  let map = new Map();
  for (let i in nums) {
    if (map.has(nums[i])) {
      if (Math.abs(map.get(nums[i]) - i) <= k) {
        return true;
      } else {
        map.set(nums[i], i);
      }
    } else {
      map.set(nums[i], i);
    }
  }
  return false;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
最后更新时间: 5/12/2020, 8:49:46 PM